package main

import (
	"flag"
	"fmt"
	"time"
)
/**
*定义命令行flag参数

*/
func main(){
	//定义命令行参数
	var name string
	var age int
	var married bool
	var delay time.Duration
	flag.StringVar(&name,"name","张三","姓名")
	flag.IntVar(&age,"age",26,"年龄")
	flag.BoolVar(&married,"married",false,"婚否")
	flag.DurationVar(&delay,"d",0,"延迟的时间间隔")
	//解析命令行参数
	flag.Parse()
	fmt.Println(name,age,married,delay)
	//返回命令行参数后的其他参数
	fmt.Println(flag.Args())
	//返回命令行参数后的其他参数个数
	fmt.Println(flag.NArg())
	//返回使用的命令行参数个数
	fmt.Println(flag.NFlag())
	/*
		使用
	1、使用说明 -h
	2、flag1.exe --name 沙河王子 --age 28 --married=false -d=1h30m
	3、flag1.exe a b c d
	*/
}


